:: (a -> b -> c) -> f a -> f b -> f c -package:foundation package:non-empty